The present invention relates to a method and apparatus for audio coding and to a method and apparatus for audio decoding.
It is well known that the transmission of data in digital form provides for increased signal to noise ratios and increased information capacity along the transmission channel. There is however a continuing desire to further increase channel capacity by compressing digital signals to an ever greater extent. In relation to audio signals, two basic compression principles are conventionally applied. The first of these involves removing the statistical or deterministic redundancies in the source signal whilst the second involves suppressing or eliminating from the source signal elements with are redundant insofar as human perception is concerned. Recently, the latter principle has become predominant in high quality audio applications and typically involves the separation of an audio signal into its frequency components (sometimes called xe2x80x9csub-bandsxe2x80x9d), each of which is analysed and quantised with a quantisation accuracy determined to remove data irrelevancy (to the listener). The ISO (International Standards Organisation) MPEG (Moving Pictures Expert Group) audio coding standard and other audio coding standards employ and further define this principle. However, MPEG (and other standards) also employs a technique know as xe2x80x9cadaptive predictionxe2x80x9d to produce a further reduction in data rate.
The operation of an encoder according to the new MPEG-2 AAC standard is described in detail in the draft International standard document ISO/IEC DIS 13818-7. This new MPEG-2 standard employs backward linear prediction with 672 of 1024 frequency components. It is envisaged that the new MPEG-4 standard will have similar requirements. However, such a large number of frequency components results in a large computational overhead due to the complexity of the prediction algorithm and also requires the availability of large amounts of memory to store the calculated and intermediate coefficients. It is well known that when backward adaptive predictors of this type are used in the frequency domain, it is difficult to further reduce the computational loads and memory requirements. This is because the number of predictors is so large in the frequency domain that even a very simple adaptive algorithm still results in large computational complexity and memory requirements. Whilst it is known to avoid this problem by using forward adaptive predictors which are updated in the encoder and transmitted to the decoder, the use of forward adaptive predictors in the frequency domain inevitably results in a large amount of xe2x80x9csidexe2x80x9d information because the number of predictors is so large.
It is an object to the present invention to overcome or at least mitigate the disadvantages of known prediction methods.
This and other objects are achieved by coding an audio signal using error signals to remove redundancy in each of a plurality of frequency sub-bands of the audio signal and in addition generating long term prediction coefficients in the time domain which enable a current frame of the audio signal to be predicted from one or more previous frames.
According to a first aspect of the present invention there is provided a method of coding an audio signal, the method comprising the steps of:
receiving an audio signal x to be coded;
generating a quantised audio signal {tilde over (x)} from the received audio signal x;
generating a set of long-term prediction coefficients A which can be used to predict a current time frame of the received audio signal x directly from at least one previous time frame of the quantised audio signal {tilde over (x)};
using the prediction coefficients A to generate a predicted audio signal {circumflex over (x)};
comparing the received audio signal x with the predicted audio signal {circumflex over (x)} and generating an error signal E(k) for each of a plurality of frequency sub-bands;
quantising the error signals E(k) to generate a set of quantised error signals {tilde over (E)}(k); and
combining the quantised error signal {tilde over (E)}(k) and the prediction coefficients A to generate a coded audio signal.
The present invention provides for compression of an audio signal using a forward adaptive predictor in the time domain. For each time frame of a received signal, it is only necessary to generate and transmit a single set of forward adaptive prediction coefficients for transmission to the decoder. This is in contrast to known forward adaptive prediction techniques which require the generation of a set of prediction coefficients for each frequency sub-band of each time frame. In comparison to the prediction gains obtained by the present invention, the side information of the long term predictor is negligible.
Certain embodiments of the present invention enable a reduction in computational complexity and in memory requirements. In particular, in comparison to the use of backward adaptive prediction, there is no requirement to recalculate the prediction coefficients in the decoder. Certain embodiments of the invention are also able to respond more quickly to signal changes than conventional backward adaptive predictors.
In one embodiment of the invention, the received audio signal x is transformed in frames xm from the time domain to the frequency domain to provide a set of frequency sub-band signals X(k). The predicted audio signal {circumflex over (x)} is similarly transformed from the time domain to the frequency domain to generate a set of predicted frequency sub-band signals {circumflex over (X)}(k) and the comparison between the received audio signal x and the predicted audio signal {circumflex over (x)} is carried out in the frequency domain, comparing respective sub-band signals against each other to generate the frequency sub-band error signals E(k). The quantised audio signal {tilde over (x)} is generated by summing the predicted signal and the quantised error signal, either in the time domain or in the frequency domain.
In an alternative embodiment of the invention, the comparison between the received audio signal x and the predicted audio signal {circumflex over (x)} is carried out in the time domain to generate an error signal e also in the time domain. This error signal e is then converted from the time to the frequency domain to generate said plurality of frequency sub-band error signals E(k).
Preferably, the quantisation of the error signals is carried out according to a psycho-acoustic model.
According to a second aspect of the present invention there is provided a method of decoding a coded audio signal, the method comprising the steps of:
receiving a coded audio signal comprising a quantised error signal {tilde over (E)}(k) for each of a plurality of frequency sub-bands of the audio signal and, for each time frame of the audio signal, a set of prediction coefficients A which can be used to predict a current time frame xm of the received audio signal directly from at least one previous time frame of a reconstructed quantised audio signal {tilde over (x)};
generating said reconstructed quantised audio signal {tilde over (x)} from the quantised error signals {tilde over (E)}(k);
using the prediction coefficients A and the quantised audio signal {tilde over (x)} to generate a predicted audio signal {circumflex over (x)};
transforming the predicted audio signal {circumflex over (x)} from the time domain to the frequency domain to generate a set of predicted frequency sub-band signals {circumflex over (X)}(k) for combining with the quantised error signals {tilde over (E)}(k) to generate a set of reconstructed frequency sub-band signals {tilde over (X)}(k); and
performing a frequency to time domain transform on the reconstructed frequency sub-band signals {tilde over (X)}(k) to generate the reconstructed quantised audio signal {tilde over (x)}.
Embodiments of the above second aspect of the invention are particularly applicable where only a sub-set of all possible quantised error signals {tilde over (E)}(k) are received, some sub-band data being transmitted directly by the transmission of audio sub-band signals X(k). The signals {tilde over (X)}(k) and X(k) are combined appropriately prior to carrying out the frequency to time transform.
According to a third aspect of the present invention there is provided apparatus for coding an audio signal, the apparatus comprising:
an input for receiving an audio signal x to be coded;
quantisation means coupled to said input for generating from the received audio signal x a quantised audio signal {tilde over (x)};
prediction means coupled to said quantisation means for generating a set of long-term prediction coefficients A for predicting a current time frame xm of the received audio signal x directly from at least one previous time frame of the quantised audio signal {tilde over (x)};
generating means for generating a predicted audio signal {circumflex over (x)} using the prediction coefficients A and for comparing the received audio signal x with the predicted audio signal {circumflex over (x)} to generate an error signal E(k) for each of a plurality of frequency sub-bands;
quantisation means for quantising the error signals E(k) to generate a set of quantised error signals {tilde over (E)}(k); and
combining means for combining the quantised error signals {tilde over (E)}(k) with the prediction coefficients A to generate a coded audio signal.
In one embodiment, said generating means comprises first transform means for transforming the received audio signal x from the time to the frequency domain and second transform means for transforming the predicted audio signal {circumflex over (x)} from the time to the frequency domain, and comparison means arranged to compare the resulting frequency domain signals in the frequency domain.
In an alternative embodiment of the invention, the generating means is arranged to compare the received audio signal x and the predicted audio signal {circumflex over (x)} in the time domain.
According to a fourth aspect of the present invention there is provided apparatus for decoding a coded audio signal x, where the coded audio signal comprises a quantised error signal {tilde over (E)}(k) for each of a plurality of frequency sub-bands of the audio signal and a set of prediction coefficients A for each time frame of the audio signal and wherein the prediction coefficients A can be used to predict a current time frame xm of the received audio signal directly from at least one previous time frame of a reconstructed quantised audio signal {tilde over (x)}, the apparatus comprising:
an input for receiving the coded audio signal;
generating means for generating said reconstructed quantised audio signal {tilde over (x)} from the quantised error signals {tilde over (E)}(k); and
signal processing means for generating a predicted audio signal {circumflex over (x)} from the prediction coefficients A and said reconstructed audio signal {tilde over (x)},
wherein said generating means comprises first transforming means for transforming the predicted audio signal {circumflex over (x)} from the time domain to the frequency domain to generate a set of predicted frequency sub-band signals {circumflex over (X)}(k), combining means for combining said set of predicted frequency sub-band signals {circumflex over (X)}(k) with the quantised error signals {tilde over (E)}(k) to generate a set of reconstructed frequency sub-band signals {tilde over (X)}(k), and second transforming means for performing a frequency to time domain transform on the reconstructed frequency sub-band signals {tilde over (X)}(k) to generate the reconstructed quantised audio signal {tilde over (x)}.